/*===============================================================
*   Copyright (C) 2022 All rights reserved.
*   
*   文件名称：server_func.h
*   创 建 者：QiuCC
*   创建日期：2022年10月09日
*   描    述：
*
*   更新日志：
*
================================================================*/
#ifndef _SERVER_FUNC_H
#define _SERVER_FUNC_H

#define IP "0"
#define PORT 9999
#define N 1024

using namespace std;


typedef struct Package_user//该数据包用于传递用户信息
{
	int func;	//功能号(1位)
	string username;	//用户名(6位以下)
	string passwd;		//用户密码(20位以下)
}Pack_user;

typedef struct Package_msg//该数据包用于向用户发送数据
{
	int func;	//功能号(1位)
	int len;	//数据长度(1位)
	char *msg; //数据内容
}Pack_msg;

struct sockaddr_in server_addr, client_addr;
int server_size = sizeof(server_addr);
int client_size = sizeof(client_addr);
	

int epor(int sockfd, int connfd);//epoll机制，实现IO多路复用的并发服务器	

int server_init();//服务器初始化

int connect(int sockfd);//客户端连接

int send_video();//发送数据包(成功返回0，失败返回-1)

int video_init(int video_fd, char *(&mptr)[4], int (&size)[4]);//摄像头初始化以及内核申请

int Data_acq(int video_fd, string filename, char *(&mptr)[4]);//数据采集和发送

void release_video_init(char *(&mptr)[4], int (&size)[4]);//释放内存

#endif

